package com.abbas.smartCity.ui

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.ImageView
import com.abbas.smartCity.R
import com.abbas.smartCity.bean.ResponseBean
import com.abbas.smartCity.bean.ServerBean
import com.abbas.smartCity.ui.youthInn.YouthInnMainActivity
import com.abbas.smartCity.util.*

@Issues("Only Test Use")
class KTestActivity() : AppCompatActivity(), NetScope {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_test)

        /**
         * @see load
         */
        ImageView(this).load("lllll")

        /**
         * @see startActivity
         */
        startActivity(YouthInnMainActivity::class.java) {
            putExtra("", 1)
        }

        /**
         * 网络访问对比
         * @see okGo
         * @see retrofit
         */
        //纯okhttp
        //网络访问地址手动加，但是并不妨碍什么，因为retrofit也一样要 ctrl cv 地址。只是做不到复用
        //创建出okGo的使用作用域
        okGo {
            //调用okGo的get方法并传入参数
            get("/prod-api/api/service/list", ServerBean::class.java) {
                //将 success 对象函数赋值
                success {
                    //此函数体为请求成功后的数据作用域
                }
                //选择性的重写失败方法
            }
            post("/prod-api/api/login", null, ResponseBean::class.java) {
                success {

                }
            }
        }
        //retrofit
        //创建出api的使用作用域
        retrofit {
            //调用api当中的getServer方法，kotlin自动将set前缀去掉。此run非彼run，乃Call对象的拓展函数，函数体为dsl对象作用域
            server.run {
                onSuccess {
                    //成功之后的函数体

                }
                //选择性的重写失败方法
            }
            login(mapOf("" to "").toRequestBody()).run {
                onSuccess{

                }
            }
        }

        retrofit {
            server2.start {
                onSuccess {

                }
            }
        }


    }

}